package com.caiheng.api.util;

import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.springframework.stereotype.Component;

/**
 * @author 作者 :
 * @createDate 创建时间：
 * 类说明 -- 百度地图经纬度和地址相互转换的工具类
 */
@Component
public class BaiduMapUtils {

    public final static String AK = "gzGLQf5EkpGW4Kb97q9vRd0W8qaK2wmp";

    public static String getCity(String lat, String lng) {
        JSONObject obj = getLocationInfo(lat, lng).getJSONObject("result").getJSONObject("addressComponent");
        return obj.getStr("city");
    }

    /**
     * @param lat 经度
     * @description 百度地图：逆地理编码
     * @param: lng 纬度
     * @date 2022/5/12 10:57
     **/
    public static JSONObject getLocationInfo(String lat, String lng) {
        String url = "https://api.map.baidu.com/reverse_geocoding/v3/?ak=" + AK + "&output=json&coordtype=gcj02ll&location=" + lat + "," + lng;
        String resp = HttpClientTool.doGet(url, null);
//        System.out.println("逆地理解码: " + resp);
        JSONObject obj = JSONUtil.parseObj(resp);
        return obj;
    }

}
